PRINT " ";inv$;"MEMO aaa";norm$;" hängt 'aaa' an die MEMO-Zeichenkette an. ";inv$;"MEMO";norm$;" zeigt die Zeichenkette an und bietet sie zur Editierung an:"
PRINT inv$;" *** Falsche Angabe! '.' nur erlaubt! *** ";norm$;beep$
ENDIF
ENDIF ! Eingabe vorhanden
RETURN ! dateset
'
PROCEDURE hilfe
LOCAL x$,dr%,b&,dd%
CLS
PRINT inv$;vers$;norm$;" --- arbeitet wie folgt: ---"
PRINT " SideKick.GFA ist ein Accessory, das vom GEM-Dispatcher alle 0.1 Sekunden aufgerufen wird (EVNT_TIMER). SideKick.GFA stellt nun fest, ob die letzte Steuer~"
PRINT " tastenkombination dem sog. 'HOT-KEY' entspricht. Traf dies zu, wird die Hauptschleife aufgerufen."
PRINT " Das Programm, aus dem SideKick.GFA aufgerufen werden soll, muß seinerseits den GEMDOS-Dispatcher ab und zu aufrufen. Jedes GEM-Programm macht dies. In"
PRINT " eigenen Programmen müssen Sie dazu Aufrufe an das AES mit EVNT_~ tätigen. Der Befehl ON MENU macht dies z.B. in GFABasic."
PRINT " Der Bildschirm-Hintergrund von 150 KByte wird von SideKick.GFA in einen eigenen Puffer gerettet. Dieser Puffer wird schon beim Booten belegt! TOS-Pro~"
PRINT " gramme oder GFABasic-Compilate reagieren z.T. nicht auf die Update-Aufforderung nach FORM_DIAL(finished) oder hinterlassen einen schwarzen Bildschirm."
PRINT " Im Fehler-Fall (ON ERROR GOSUB), der bei einem Dialog mit einem Benutzer immer auftreten kann, wird der Hintergrund restauriert und SideKick.GFA geht in"
PRINT " eine Endlosschleife (EVNT_TIMER(-1)). SideKick.GFA läßt sich nun überhaupt nicht mehr aufrufen, aber der TT arbeitet anstandslos weiter!!!"
PRINT " ";inv$;" *** SYNTAX der Befehle *** ";norm$
PRINT " --- Die Befehle müssen immer VOLLSTÄNDIG ausgeschrieben werden! --- Groß-/Klein-Schreibung sind bedeutungslos! ---"
PRINT " ";inv$;"COPY datei1 datei2";norm$;" kopiert die Datei-1 zur Datei-2. Ist diese bereits vorhanden, erfolgt eine Sicherheitsabfrage. 'datei1','datei2' sind vollständige"
PRINT " Dateinamen mit Pfadangabe. Die 'Wildcards' '*' und '?' können verwendet werden. Wenn Sie im aktuellen Verzeichnis bleiben, brauchen Sie den Pfad nicht"
PRINT " anzugeben! ";inv$;"MOVE datei1 datei2";norm$;" löscht 'datei1' nach dem Kopiervorgang. Wieder können '*' und '?' verwendet werden."
PRINT " ";inv$;"REN altname neuname";norm$;" arbeitet ähnlich wie COPY. Ist 'neuname' schon vorhanden, wird nachgefragt, ob Sie diesen Namen doch verwenden wollen. Wenn ja, wird die"
PRINT " bereits vorhandene Datei 'neuname' GELÖSCHT (!) und die Datei 'altname' umbenannt in 'neuname'. Auch hier sind '*' und '?' möglich!"
PRINT " ";inv$;"MERK";norm$;" schaltet die Option 'Kommando-Zeile Merken' wechselweise EIN/AUS. Ist MERK eingeschaltet, wird die alte Kommandozeile zum Editieren angeboten, ESC"
PRINT " löscht die Eingabe, DEL/BACKSPACE, <-/-> arbeiten wie gewohnt, ^ stellt auf den Anfang, v auf das Ende der Zeile (FORM INPUT AS)."
PRINT " ";inv$;"TYPE datei";norm$;", ";inv$;"DUMP datei";norm$;", ";inv$;"DEL datei";norm$;" stellen eine Datei in ASC_II-Form oder als HEX-Dump dar oder löschen die angegebene Datei. Zum Namen siehe COPY."
PRINT " ";inv$;"MEM adresse";norm$;" oder ";inv$;"MEM dadresse";norm$;" zeigen den Hauptspeicher-Inhalt ab der Adresse HEX-adresse oder DECIMAL-Adresse. Im 2.Fall muß ein kleines 'd' vorangestellt"
PRINT " werden. Da LPEEK im Supervisor-Mode arbeitet, kann auch auf geschützte Bereiche zugegriffen werden."
PRINT " ";inv$;"DMON sektor";norm$;" liest ab HEX 'sektor' vom aktuellen Laufwerk mittels ReadWriteAbsolute (BIOS 4) immer jeweils 3 Sektoren zu 512 Bytes ein und stellt sie als HEX-"
PRINT " Dump dar. Steht vor 'sektor' ein kleines 'd', wird die Sektorangabe als DECIMAL verstanden."
PRINT " ";inv$;"CLUSTER datei";norm$;" gibt die Cluster-Nummern einer Datei aus und stellt die Plattenbelegung grafisch dar. Directories mit mehr als 32 Einträgen (1 Cluster) kann"
PRINT " SideKick.GFA nicht durchsuchen!"
PRINT " ";inv$;"FIND";norm$;" sucht nach einer Zeichenkette oder einem Zahlenwert im Speicher, auf der Diskette oder in einer Datei. Beim Aufruf erscheinen Erläuterungen."
PRINT " ";inv$;"DARK";norm$;" 'schaltet' den TT-MONOCHROM-Bildschirm dunkel und wartet dann auf irgendeinen Tastendruck. INNERHALB von SideKick.GFA erfolgt kein Aufruf an den GEM-"
PRINT " Dispatcher. Das Accessory SCRSAV_H.GFA (Vom selben Autor) kann deshalb nicht eingreifen. Nach DARK bleibt der Bildschirm invertiert, mit ";inv$;"CLS";norm$;" können Sie das"
PRINT " ändern. ";inv$;"INV";norm$;" invertiert den gesamten Bildschirm."
PRINT " Mit ";inv$;"DIR [pfad][muster]";norm$;" erhalten Sie die Dateienanzeige von 'pfad' nach dem 'muster'. Beide Angaben sind optional. Fehlt 'pfad', wird der aktuelle Pfad ge-"
PRINT " nommen. Fehlt 'muster', wird das Muster '*.*' verwendet. Da nur GFABasic_3.5E-Befehle verwendet werden, ist nur das Wildcard-Zeichen '*' erlaubt, das nur"
PRINT " am Ende des Namens oder der Extension einen Sinn macht: '*.S', 'S*.*', 'E*.P*' sind zugelassene Muster, '*S.*', '*.*G' aber nicht! In 'pfad' darf ein"
PRINT " Laufwerksbezeicher wie 'c:' erscheinen!"
PRINT " ";inv$;"CD pfad";norm$;" arbeitet NUR auf dem aktuellen Laufwerk! Damit können Sie das Laufwerk NICHT wechseln. In 'pfad' darf auch '..' vorkommen."
PRINT " ";inv$;"a:";norm$;" wechselt das Laufwerk, wobei 'a' der Buchstabe des Laufwerks ist."
PRINT " ";inv$;"PRINT";norm$;" öffnet die (vorhandene) Datei MTSCHRFT.ASC und hängt die mitprotokollierten Bildschirmausgaben an das Ende dieser Datei. Wird durch ein 2.'PRINT' die"
PRINT " Datei MTSCHRFT.ASC wieder geschlossen, können Sie diese auf Nachfrage auf Ihrem Drucker ausgeben lassen."
PRINT " ";inv$;"CALC formel";norm$;" berechnet 'formel' und speichert das Ergebnis zur weiteren Verwendung bei erneutem Aufruf von CALC ab. 'formel' darf REAL-Zahlen mit '.' und"
PRINT " ',' enthalten, aber keine Exponenten. Beliebig viele Klammerebenen sind erlaubt. Alle 4 Grundrechenarten '+','-','*','/' dürfen vorkommen. Das Ergebnis"
PRINT " wird decimal, hexadecimal, binär und oktal ausgegeben. Wenn vor 'formel' '&h', '&x', '&o' steht, wird 'formel' als einfache Hexadecimal-/Binär-/Oktal-Zahl"
PRINT " verstanden und in allen 4 Zahlensystemen - umgerechnet - ausgegeben."
PRINT " ";inv$;"XBIOS";norm$;",";inv$;"BIOS";norm$;",";inv$;"GEMDOS";norm$;" rufen die entsprechenden Routinen des TOS auf. Neben der Funktionsnummer können max. 2 NUMERISCHE Parameter übergeben werden. * Vorsicht! *"
PRINT " ";inv$;"TIME";norm$;" und ";inv$;"DATE";norm$;" geben die Zeit aus und erlauben die Neueinstellung."
PRINT " Mit ";inv$;"POKE";norm$;" können Sie eine Speicherstelle, auch eine im Supervisor-Bereich!, verändern, wahlweise LONG-, WORD- oder BYTE-weise."
PRINT " ";inv$;"SHIP";norm$;" fährt einen der letzten Sektoren auf der letzten Partition Ihrer Festplatte an als Ersatz für ein reguläres PARK-Programm (&H1B an HD-Controller)."
PRINT " ";inv$;"WO laufw:+pfad+maske";norm$;" sucht auf dem angegebenen 'laufw' ab dem 'pfad' alle Dateien, die 'maske' entsprechen. 'laufw' und 'pfad' sind optional. In 'maske'"
PRINT " stehen die üblichen Zeichen '*' und '?'."
PRINT " ";inv$;"ATTR datei";norm$;" gibt die Attribute einer Datei aus und gestattet diese zu ändern. Die Zeichen '*' und '?' sind in 'datei' erlaubt."
PRINT " ";inv$;"HOTKEY";norm$;" ändert die Kombination der Steuertasten, mit der SideKick.GFA aufgerufen wird. Bei allen Abfragen beläßt einfaches RETURN die alten Werte!"
PRINT " Folgende Zahlenwerte gelten: RShift=01, LSchift=02, CTRL=04, ALT=08, CAPS=20,in HEX. GFABasic-Compilate liefern oft nicht die Steuertasten oder tätigen"
PRINT " überhaupt keinen Aufruf an das AES. Dann läßt sich SideKick.GFA nicht aufrufen!"
PRINT " Die anderen, angezeigten Befehle sind noch nicht implementiert! Sorry."
PRINT inv$;" --- 'Sie spielen mit dem Feuer!' --- ";norm$;beep$;" Nur bis zu 2 Parameter möglich, z.B.: XBIOS(n,L:p1,p2), mehr nicht! KEINE Überprüfungen!"
INPUT " Nummer der XBIOS-Routine ('&H' voranstellen für HEX, RETURN bricht ab, LETZTE CHANCE!) ";in$
IF in$>"" THEN
nr%=VAL(in$)
INPUT " 1.Parameter ('l' voranstellen für long, '&H' für HEX!) ";in$
IF in$="" THEN
@ergebnis(XBIOS(nr%))
ELSE
IF LEFT$(in$,1)="l" THEN
l1!=TRUE
in$=MID$(in$,2,255)
ELSE
l1!=FALSE
ENDIF
p1%=VAL(in$)
INPUT " 2.Parameter ('l' voranstellen für long, '&H' für HEX!) ";in$
IF in$="" THEN
IF l1! THEN
er%=XBIOS(nr%,L:p1%)
ELSE
er%=XBIOS(nr%,p1%)
ENDIF
@ergebnis(er%)
ELSE
IF LEFT$(in$,1)="l" THEN
l2!=TRUE
in$=MID$(in$,2,255)
ELSE
l2!=FALSE
ENDIF
p2%=VAL(in$)
IF l1! THEN
IF l2! THEN
er%=XBIOS(nr%,L:p1%,L:p2%)
ELSE
er%=XBIOS(nr%,L:p1%,p2%)
ENDIF
ELSE
IF l2! THEN
er%=XBIOS(nr%,p1%,L:p2%)
ELSE
er%=XBIOS(nr%,p1%,p2%)
ENDIF
ENDIF
@ergebnis(er%)
ENDIF
ENDIF
ENDIF
RETURN ! xb
PROCEDURE b
LOCAL in$,nr%,er%,p1%,p2%,l1!,l2!
PRINT inv$;" --- 'Sie spielen mit dem Feuer!' --- ";norm$;beep$;" Nur bis zu 2 Parameter möglich, z.B.: BIOS(n,L:p1,p2), mehr nicht! KEINE Überprüfungen!"
INPUT " Nummer der BIOS-Routine ('&H' voranstellen für HEX, RETURN bricht ab, LETZTE CHANCE!) ";in$
IF in$>"" THEN
nr%=VAL(in$)
INPUT " 1.Parameter ('l' voranstellen für long, '&H' für HEX!) ";in$
IF in$="" THEN
@ergebnis(BIOS(nr%))
ELSE
IF LEFT$(in$,1)="l" THEN
l1!=TRUE
in$=MID$(in$,2,255)
ELSE
l1!=FALSE
ENDIF
p1%=VAL(in$)
INPUT " 2.Parameter ('l' voranstellen für long, '&H' für HEX!) ";in$
IF in$="" THEN
IF l1! THEN
er%=BIOS(nr%,L:p1%)
ELSE
er%=BIOS(nr%,p1%)
ENDIF
@ergebnis(er%)
ELSE
IF LEFT$(in$,1)="l" THEN
l2!=TRUE
in$=MID$(in$,2,255)
ELSE
l2!=FALSE
ENDIF
p2%=VAL(in$)
IF l1! THEN
IF l2! THEN
er%=BIOS(nr%,L:p1%,L:p2%)
ELSE
er%=BIOS(nr%,L:p1%,p2%)
ENDIF
ELSE
IF l2! THEN
er%=BIOS(nr%,p1%,L:p2%)
ELSE
er%=BIOS(nr%,p1%,p2%)
ENDIF
ENDIF
@ergebnis(er%)
ENDIF
ENDIF
ENDIF
RETURN ! b
PROCEDURE g
LOCAL in$,nr%,er%,p1%,p2%,l1!,l2!
PRINT inv$;" --- 'Sie spielen mit dem Feuer!' --- ";norm$;beep$;" Nur bis zu 2 Parameter möglich, z.B.: GEMDOS(n,L:p1,p2), mehr nicht! KEINE Überprüfungen!"
INPUT " Nummer der GEMDOS-Routine ('&H' voranstellen für HEX, RETURN bricht ab, LETZTE CHANCE!) ";in$
IF in$>"" THEN
nr%=VAL(in$)
INPUT " 1.Parameter ('l' voranstellen für long, '&H' für HEX!) ";in$
IF in$="" THEN
@ergebnis(GEMDOS(nr%))
ELSE
IF LEFT$(in$,1)="l" THEN
l1!=TRUE
in$=MID$(in$,2,255)
ELSE
l1!=FALSE
ENDIF
p1%=VAL(in$)
INPUT " 2.Parameter ('l' voranstellen für long, '&H' für HEX!) ";in$